// vdrv.c
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/device.h>
#include "vbus.h"

static int vdrv_probe(struct device *dev)
{
    printk(KERN_INFO "vdrv: probe\n");
    return 0;
}

static int vdrv_remove(struct device *dev)
{
    printk(KERN_INFO "vdrv: remove\n");
    return 0;
}

static struct device_driver vdrv_driver = {
    .name = "vdrv",
    .bus = &vbus,
    .probe = vdrv_probe,
    .remove = vdrv_remove,
};

static int __init vdrv_init(void)
{
    return driver_register(&vdrv_driver);
}

static void __exit vdrv_exit(void)
{
    driver_unregister(&vdrv_driver);
}

module_init(vdrv_init);
module_exit(vdrv_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Kevin Jiang <jiangxg@farsight.com.cn>");
MODULE_DESCRIPTION("Virtual Driver");
